home *** CD-ROM | disk | FTP | other *** search
/ MacAddict 118 / MacAddict 118 2006-06.toast / Software / Development / 24U Appearance OSAX(trial).dmg / Appearance OSAX Extras / Examples / messagesample.command < prev    next >
Text File  |  2006-03-03  |  3KB  |  88 lines

  1. #!/bin/bash
  2. ######################################################################
  3. #                                                                    #
  4. #  Sample script for 24U Appearance OSAX 3.1                         #
  5. #  Copyright ©2000-2006 24U Software                                 #
  6. #                                                                    #
  7. #  This sample script shows how to use message windows from within   #
  8. #  command line environment to show the progress of a shell script   #
  9. #                                                                    #
  10. #  (Requires bash which is part of Mac OS X since version 10.2 !!!)  #
  11. #                                                                    #
  12. ######################################################################
  13.  
  14. #
  15. # first, open a global message window. if it was not global it was
  16. # closed after osascript had terminated. store osascript's result
  17. # into variable RESULT
  18. #
  19. RESULT=`osascript -e 'create message window "Determining the number of files to synchronize..." with properties {global window:true, closeable:true}'`
  20.  
  21.  
  22.  
  23. #
  24. #  check the result and if everything was ok, then remember Window ID
  25. #  property of returned record. it is enough to reference a window.
  26. #
  27. if [ $? == 0 ]; then
  28.   WINDOWID=`echo $RESULT | cut -f 1 -d , | cut -f 2 -d :`
  29. else
  30.   echo Error openening window...
  31.   exit 1
  32. fi
  33.  
  34. echo "24U Appearance OSAX's message window opened."
  35. sleep 2
  36.  
  37.  
  38. #
  39. #  update the message window with some new text. we have to
  40. #  construct script with WINDOWID variable. the script should
  41. #  be:
  42. #
  43. #    update progress indicator $WINDOWID message text "new text"
  44. #
  45. #  since we haven't got an error while we was creating the
  46. #  message window, we are no more interested in osascript's
  47. #  result. 
  48. #
  49. SCRIPT="update message window $WINDOWID message text \"Synchronizing files...\""
  50. osascript -e "$SCRIPT" >/dev/null
  51. echo "24U Appearance OSAX's message window updated."
  52.  
  53.  
  54. #
  55. #  count the number of files in your home directory and store
  56. #  them into COUNT variable and the files theyself into FILES.
  57. #
  58. COUNT=`ls -1A ~ | wc -l`
  59. FILES=`ls -1A ~`
  60.  
  61.  
  62. #
  63. #  update message window for each file in FILES variable.
  64. #
  65. for i in $FILES; do
  66.  SCRIPT="update message window $WINDOWID message text \"Synchronizing file $i...\"";
  67.  osascript -e "$SCRIPT" >/dev/null;
  68.  echo "24U Appearance OSAX's message window updated again.";
  69. done
  70.  
  71.  
  72. #
  73. #  update message window with the "Synchronization done..." text
  74. #
  75. SCRIPT="update message window $WINDOWID message text \"Synchronization done...\"";
  76. osascript -e "$SCRIPT" >/dev/null;
  77. echo "24U Appearance OSAX's message window updated again.";
  78.  
  79. sleep 2
  80.  
  81. #
  82. #  close the message window and exit script
  83. #
  84. SCRIPT="close message window $WINDOWID"
  85. osascript -e "$SCRIPT" >/dev/null
  86.  
  87. echo "24U Appearance OSAX's message window closed."
  88.